#ifndef CODEEDITORCONSTANTS_H
#define CODEEDITORCONSTANTS_H

#include <QtCore/QtGlobal>

namespace CodeEdit {
namespace Constants {

const char * const C_TEXTEDITOR          = "Code Editor";
const char * const COMPLETE_THIS         = "CodeEditor.CompleteThis";
const char * const QUICKFIX_THIS         = "CodeEditor.QuickFix";
const char * const VISUALIZE_WHITESPACE  = "CodeEditor.VisualizeWhitespace";
const char * const CLEAN_WHITESPACE      = "CodeEditor.CleanWhitespace";
const char * const TEXT_WRAPPING         = "CodeEditor.TextWrapping";
const char * const UN_COMMENT_SELECTION  = "CodeEditor.UnCommentSelection";
const char * const REFORMAT              = "CodeEditor.Reformat";
const char * const FOLD              = "CodeEditor.Fold";
const char * const UNFOLD                = "CodeEditor.Unfold";
const char * const UNFOLD_ALL       = "CodeEditor.UnCollapseAll";
const char * const AUTO_INDENT_SELECTION = "CodeEditor.AutoIndentSelection";
const char * const INCREASE_FONT_SIZE    = "CodeEditor.IncreaseFontSize";
const char * const DECREASE_FONT_SIZE    = "CodeEditor.DecreaseFontSize";
const char * const RESET_FONT_SIZE    = "CodeEditor.ResetFontSize";
const char * const GOTO_BLOCK_START      = "CodeEditor.GotoBlockStart";
const char * const GOTO_BLOCK_START_WITH_SELECTION = "CodeEditor.GotoBlockStartWithSelection";
const char * const GOTO_BLOCK_END        = "CodeEditor.GotoBlockEnd";
const char * const GOTO_BLOCK_END_WITH_SELECTION = "CodeEditor.GotoBlockEndWithSelection";
const char * const SELECT_BLOCK_UP       = "CodeEditor.SelectBlockUp";
const char * const SELECT_BLOCK_DOWN     = "CodeEditor.SelectBlockDown";
const char * const MOVE_LINE_UP          = "CodeEditor.MoveLineUp";
const char * const MOVE_LINE_DOWN        = "CodeEditor.MoveLineDown";
const char * const COPY_LINE_UP          = "CodeEditor.CopyLineUp";
const char * const COPY_LINE_DOWN        = "CodeEditor.CopyLineDown";
const char * const JOIN_LINES            = "CodeEditor.JoinLines";
const char * const INSERT_LINE_ABOVE     = "CodeEditor.InsertLineAboveCurrentLine";
const char * const INSERT_LINE_BELOW     = "CodeEditor.InsertLineBelowCurrentLine";
const char * const CUT_LINE              = "CodeEditor.CutLine";
const char * const DELETE_LINE           = "CodeEditor.DeleteLine";
const char * const DELETE_WORD           = "CodeEditor.DeleteWord";
const char * const SELECT_ENCODING       = "CodeEditor.SelectEncoding";
const char * const REWRAP_PARAGRAPH       =  "CodeEditor.RewrapParagraph";
const char * const GOTO_OPENING_PARENTHESIS = "CodeEditor.GotoOpeningParenthesis";
const char * const GOTO_CLOSING_PARENTHESIS = "CodeEditor.GotoClosingParenthesis";
const char * const GOTO_LINE_START = "CodeEditor.GotoLineStart";
const char * const GOTO_LINE_END = "CodeEditor.GotoLineEnd";
const char * const GOTO_NEXT_LINE = "CodeEditor.GotoNextLine";
const char * const GOTO_PREVIOUS_LINE = "CodeEditor.GotoPreviousLine";
const char * const GOTO_PREVIOUS_CHARACTER = "CodeEditor.GotoPreviousCharacter";
const char * const GOTO_NEXT_CHARACTER = "CodeEditor.GotoNextCharacter";
const char * const GOTO_PREVIOUS_WORD = "CodeEditor.GotoPreviousWord";
const char * const GOTO_NEXT_WORD = "CodeEditor.GotoNextWord";
const char * const GOTO_LINE_START_WITH_SELECTION = "CodeEditor.GotoLineStartWithSelection";
const char * const GOTO_LINE_END_WITH_SELECTION = "CodeEditor.GotoLineEndWithSelection";
const char * const GOTO_NEXT_LINE_WITH_SELECTION = "CodeEditor.GotoNextLineWithSelection";
const char * const GOTO_PREVIOUS_LINE_WITH_SELECTION = "CodeEditor.GotoPreviousLineWithSelection";
const char * const GOTO_PREVIOUS_CHARACTER_WITH_SELECTION = "CodeEditor.GotoPreviousCharacterWithSelection";
const char * const GOTO_NEXT_CHARACTER_WITH_SELECTION = "CodeEditor.GotoNextCharacterWithSelection";
const char * const GOTO_PREVIOUS_WORD_WITH_SELECTION = "CodeEditor.GotoPreviousWordWithSelection";
const char * const GOTO_NEXT_WORD_WITH_SELECTION = "CodeEditor.GotoNextWordWithSelection";
const char * const C_TEXTEDITOR_MIMETYPE_TEXT = "text/plain";


// Text color and style categories
const char * const C_TEXT                = "Text";

const char * const C_LINK                = "Link";
const char * const C_SELECTION           = "Selection";
const char * const C_LINE_NUMBER         = "LineNumber";
const char * const C_SEARCH_RESULT       = "SearchResult";
const char * const C_SEARCH_SCOPE        = "SearchScope";
const char * const C_PARENTHESES         = "Parentheses";
const char * const C_CURRENT_LINE        = "CurrentLine";
const char * const C_CURRENT_LINE_NUMBER = "CurrentLineNumber";
const char * const C_OCCURRENCES         = "Occurrences";
const char * const C_OCCURRENCES_UNUSED  = "Occurrences.Unused";
const char * const C_OCCURRENCES_RENAME  = "Occurrences.Rename";

const char * const C_NUMBER              = "Number";
const char * const C_STRING              = "String";
const char * const C_TYPE                = "Type";
const char * const C_KEYWORD             = "Keyword";
const char * const C_OPERATOR            = "Operator";
const char * const C_PREPROCESSOR        = "Preprocessor";
const char * const C_LABEL               = "Label";
const char * const C_COMMENT             = "Comment";
const char * const C_DOXYGEN_COMMENT     = "Doxygen.Comment";
const char * const C_DOXYGEN_TAG         = "Doxygen.Tag";
const char * const C_VISUAL_WHITESPACE   = "VisualWhitespace";

const char * const C_DISABLED_CODE       = "DisabledCode";

const char * const C_ADDED_LINE          = "AddedLine";
const char * const C_REMOVED_LINE        = "RemovedLine";
const char * const C_DIFF_FILE           = "DiffFile";
const char * const C_DIFF_LOCATION       = "DiffLocation";

const char * const TEXT_EDITOR_SETTINGS_CATEGORY = "C.CodeEditor";
const char * const TEXT_EDITOR_SETTINGS_CATEGORY_ICON = ":/core/images/category_texteditor.png";
const char * const TEXT_EDITOR_SETTINGS_TR_CATEGORY = QT_TRANSLATE_NOOP("CodeEditor", "Code Editor");

} // namespace Constants
} // namespace CodeEdit

#endif // CODEEDITORCONSTANTS_H
